package com.zhangxin.aiInterview.service;

import com.zhangxin.aiInterview.model.dto.interview.AnalyzeTecInterviewRequest;
import com.zhangxin.aiInterview.model.entity.AiInterview;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhangxin.aiInterview.model.entity.Position;

import javax.servlet.http.HttpServletRequest;

/**
 * @author ZX
 * @description 针对表【ai_interview(AI模拟面试记录)】的数据库操作Service
 * @createDate 2025-04-25 14:58:29
 */
public interface AiInterviewService extends IService<AiInterview> {
    /**
     * 建立大语言模型和文字转语音模型的websocket连接
     */
    void connect(HttpServletRequest request);

    /**
     * 技术面试分析
     *
     * @param analyzeTecInterviewRequest
     * @param request
     * @param isFull
     * @param fullInterviewId
     */

    void analyzeTecInterview(AnalyzeTecInterviewRequest analyzeTecInterviewRequest, HttpServletRequest request, Boolean isFull, Long fullInterviewId);

    /**
     * 生成技术面试
     * @param userId
     * @param position
     * @param positionName
     * @param techFieldName
     * @param companyId
     * @param resumeId
     * @param interviewerGender
     * @param languageMode
     * @param interviewerType
     * @param isFull
     * @param fullInterviewId
     * @return
     */
    Long generateTecInterview(Long userId, Position position, String positionName, String techFieldName, Long companyId, Long resumeId, String interviewerGender, String languageMode,String interviewerType, Boolean isFull, Long fullInterviewId);

    /**
     * 删除技术面试记录
     * @param tecInterviewId
     * @param request
     * @return
     */
    boolean deleteTecInterview(Long tecInterviewId, HttpServletRequest request);
}
